import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * La clase Escenario1 contiene todos los objetos que aparecen en los diferentes niveles
 * 
 * @author (Alcantar Noyola Christian Andres) 
 * @author (Sanchez Ovalle Daniel) 
 * @version (29/04/13)
 */
public class Escenario1 extends World
{

    private int Nivel=0;
    private boolean GorraInWorld;
    private boolean InterruptorActivado;
    private Cronometro crono;
    private int numEnemigos;
    private Jugador chango;
    private RegresaMenu menu=new RegresaMenu();

  
    /**
     * Constructor for objects of class Escenario1.
     * 
     */
    public Escenario1()
    {    
        super(700, 500, 1,false);
        prepare(1);
        this.setActOrder(Jugador.class, Gorra.class, Cronometro.class, Enemigo.class, Obstaculo.class);
        this.setPaintOrder(Boton.class,Numero.class,Jugador.class,Gorra.class,Enemigo.class,Obstaculo.class,Item.class,Interruptor.class,Puerta.class);
    }

    /**
     * Este metodo contiene en un menu todos los metodos que llaman a los niveles del juego,
     * y a los botones de la ayuda
     */

    public void prepare(int dato)
    {  

        switch(dato)
        {
            case 1: menuDelJuego();
            break;
            case 2: mundonivel1();
            break;
            case 3: gameOver();
            break;
            case 4: ayudaDelJuego();
            break;
            case 5: CreditosDelJuego();
            break;
            case 6: mundonivel2();
            break;
            case 7: GameInstructions();
            break;
            case 8: mundonivel3();
            break;
            case 9: winner();
            break;
            case 10: GameRecords();
            break;
        }
    }

    /**
     * Este metodo inicializa la cuenta del cronometro, y es utilizado para que el tiempo
     * no corra cuando se presiona el boton del pause
     */
    public void started()
    {

        if(Nivel>0)
        {
            crono.inicializaCuenta();
            java.util.List lst=this.getObjects(Interruptor.class);
            Interruptor inter=(Interruptor)lst.get(0);
            inter.started();
        }
    }

    /**
     * Este metodo obtiene la bandera de la gorra del cango
     * @return un valor booleano GorraInWorld (true hay una cachucha en el mundo, false no la hay)
     */
    public boolean getBandGorra()
    {
        return GorraInWorld;
    }

    /**
     * Este metodo cambia la bandera de la gorra del chango
     * @param valor es un valor de tipo booleano(true indica que se avento una cachucha)
     * false indica que no hay una cachucha en el mundo
     */
    public void cambiaBandGorra(boolean valor)
    {
        GorraInWorld=valor;
    }

    /**
     * Este metodo obtiene el jugador en el escenario
     * @return chango (jugador dentro del mundo)
     */
    public Jugador getChango()
    {
        return chango;
    }

    /**
     * Este metodo obtiene la bandera de la puerta
     * @return un valor booleano InterruptorActivado (true la puerta esta abierta, false la puerta esta cerrada)
     */
    public boolean getBandOpenDoor()
    {

        return InterruptorActivado;

    }

    /**
     * Este metodo cambia la bandera de la puerta
     * @param valor es un valor booleano (true la puerta esta abierta, false la puerta esta cerrada)
     */
    public void cambiaBandPuerta(boolean valor)
    {
        InterruptorActivado=valor;
    }

    /**
     *Este metodo es para que los enemigos aparezcan en el escenario
     */
    public void act() 
    {
        if(numEnemigos<Nivel*3)
        {
            if(Greenfoot.getRandomNumber(400) < 3)
            {
                addObject(new Pico(), Greenfoot.getRandomNumber(650), 50);
                numEnemigos++;
            }

            if(Greenfoot.getRandomNumber(400) < 3) 
            {
                addObject(new Barril(), Greenfoot.getRandomNumber(650), 50);
                numEnemigos++;
            }

            if(Greenfoot.getRandomNumber(400) < 3) 
            {
                addObject(new Roca(), Greenfoot.getRandomNumber(650), 50);
                numEnemigos++;
            }
        }

     
    }
    /**
     * Este metodo coloca los objetos dentro del mundo para indicar el nivel 3 del juego
     */
    public void mundonivel3()
    {

        setBackground("level3.png");
        Greenfoot.delay(80);
        setBackground("N3.png");
        Banana imgContban= new Banana();
        this.addObject(imgContban,13,17);
        Llave imgContLlave=new Llave();
        this.addObject(imgContLlave,139,17);
        Vida imgContVida=new Vida();
        this.addObject(imgContVida,639,22);
        ItemCachucha imgContCachucha=new ItemCachucha();
        this.addObject(imgContCachucha,523,18);
        GorraInWorld=false;
        numEnemigos=0;
        Nivel=3;
        addObject(chango, 63, 447);
        crono=new Cronometro(120);
        this.addObject(crono,-5,-5);

        Lava lava = new Lava();
        addObject(lava, 17, 494);
        for(int i=0;i<22;i++)
        {
            Lava lavai = new Lava();
            addObject(lavai, 51+(i*33), 494);  
        }
        Piso piso = new Piso("piso3");
        addObject(piso, 44, 480);
        Piso piso2 = new Piso("piso3");
        addObject(piso2, 134, 480);
        Piso piso3 = new Piso("piso2");
        addObject(piso3, 217, 421);
        Tronco tronco = new Tronco("derecha", "tronco", 0);
        addObject(tronco, 325, 432);
        Tronco tronco2 = new Tronco("izquierda", "tabla", 1);
        addObject(tronco2, 426, 443);
        Piso piso4 = new Piso("piso0");
        addObject(piso4, 668, 388);
        Piso piso5 = new Piso("piso2");
        addObject(piso5, 43, 300);
        Tronco tronco3 = new Tronco("derecha", "tronco", 0);
        addObject(tronco3, 240, 346);
        Tronco tronco4 = new Tronco("izquierda", "tronco", 0);
        addObject(tronco4, 528, 274);
        Piso piso6 = new Piso("piso2");
        addObject(piso6, 141, 353);
        Piso piso7 = new Piso("piso0");
        addObject(piso7, 457, 335);

        Piso piso8 = new Piso("piso0");
        addObject(piso8, 311, 269);

        Tronco tronco5 = new Tronco("derecha", "tronco", 0);
        addObject(tronco5, 36, 214);
        Piso piso9 = new Piso("piso0");
        addObject(piso9, 514, 207);
        Piso piso10 = new Piso("piso3");
        addObject(piso10, 678, 140);
        Tronco tronco6 = new Tronco("izquierda", "tabla", 1);
        addObject(tronco6, 87, 119);

        for(int i=11;i<21;i++)
        {
            Piso pisoi = new Piso("piso3");
            addObject(pisoi, 46+((i-11)*91), 43);
        }

        Tronco tronco7 = new Tronco("derecha", "tronco", 0);
        addObject(tronco7, 360, 130);

        Piso piso21 = new Piso("piso2");
        addObject(piso21, 221, 223);

        Piso piso22 = new Piso("piso2");
        addObject(piso22, 244, 126);

        Piso piso23 = new Piso("piso2");
        addObject(piso23, 666, 265);

        Piso piso24 = new Piso("piso3");
        addObject(piso24, 655, 480);
        Piso piso25 = new Piso("piso3");
        addObject(piso25, 535, 436);

        Piso piso26 = new Piso("piso2");
        addObject(piso26, 546, 135);
        Piso piso27 = new Piso("piso2");
        addObject(piso27, 118, 176);

        Banana banana = new Banana();
        addObject(banana, 629, 361);
        Banana banana2 = new Banana();
        addObject(banana2, 631, 326);

        Banana banana3 = new Banana();
        addObject(banana3, 634, 292);
        Banana banana4 = new Banana();
        addObject(banana4, 666, 360);
        Banana banana5 = new Banana();
        addObject(banana5, 670, 326);
        Banana banana6 = new Banana();
        addObject(banana6, 671, 292);
        Banana banana7 = new Banana();
        addObject(banana7, 13, 273);
        Banana banana8 = new Banana();
        addObject(banana8, 39, 274);
        ItemCachucha itemcachucha = new ItemCachucha();
        addObject(itemcachucha, 73, 279);
        ItemCachucha itemcachucha2 = new ItemCachucha();
        addObject(itemcachucha2, 685, 120);
        Llave llave = new Llave();
        addObject(llave, 656, 117);
        Banana banana9 = new Banana();
        addObject(banana9, 684, 78);       
        Banana banana10 = new Banana();
        addObject(banana10, 655, 77);
        Llave llave2 = new Llave();
        addObject(llave2, 16, 243);
        Banana banana11 = new Banana();
        addObject(banana11, 101, 327);
        Banana banana12 = new Banana();
        addObject(banana12, 129, 325);
        Banana banana13 = new Banana();
        addObject(banana13, 164, 329);
        banana12.setLocation(128, 328);
        banana13.setLocation(156, 328);
        Banana banana14 = new Banana();
        addObject(banana14, 185, 333);
        banana14.setLocation(183, 328);
        Banana banana15 = new Banana();
        addObject(banana15, 509, 414);
        banana15.setLocation(499, 408);
        Banana banana16 = new Banana();
        addObject(banana16, 530, 412);
        banana16.setLocation(525, 407);
        Llave llave3 = new Llave();
        addObject(llave3, 566, 418);
        llave3.setLocation(563, 409);
        Banana banana17 = new Banana();
        addObject(banana17, 183, 401);
        banana17.setLocation(174, 394);
        Banana banana18 = new Banana();
        addObject(banana18, 212, 398);
        banana18.setLocation(201, 392);
        Banana banana19 = new Banana();
        addObject(banana19, 240, 398);
        banana19.setLocation(242, 395);
        banana18.setLocation(209, 393);

        for(int i=20;i<40;i++)
        {
            Banana bananai = new Banana();
            addObject(bananai, 13+((i-20)*30), 61);

        }

        Puerta puerta = new Puerta();
        addObject(puerta, 688, 241);
        Interruptor interruptor = new Interruptor();
        addObject(interruptor, 15, 450);
        Vida vida = new Vida();
        addObject(vida, 317, 258);
        vida.setLocation(314, 255);
        Vida vida2 = new Vida();
        addObject(vida2, 23, 99);
        vida2.setLocation(15, 93);
        Banana banana40 = new Banana();
        addObject(banana40, 433, 310);
        banana40.setLocation(417, 311);
        Banana banana41 = new Banana();
        addObject(banana41, 445, 309);
        banana41.setLocation(447, 310);
        Banana banana42 = new Banana();
        addObject(banana42, 485, 313);
        banana42.setLocation(479, 310);

    }

    /**
     * Este metodo coloca los objetos dentro del mundo para indicar el nivel 2 del juego
     */
    public void mundonivel2()
    {

        setBackground("level2.png");
        Greenfoot.delay(80);
        setBackground("nivel2.png");
        Banana imgContban= new Banana();
        this.addObject(imgContban,13,17);
        Llave imgContLlave=new Llave();
        this.addObject(imgContLlave,139,17);
        Vida imgContVida=new Vida();
        this.addObject(imgContVida,639,22);
        ItemCachucha imgContCachucha=new ItemCachucha();
        this.addObject(imgContCachucha,523,18);
        GorraInWorld=false;
        numEnemigos=0;
        Nivel=2;
        addObject(chango, 63, 447);
        crono=new Cronometro(130);
        this.addObject(crono,-5,-5);

        Lava lava = new Lava();
        addObject(lava, 17, 494);
        for(int i=0;i<22;i++)
        {
            Lava lavai = new Lava();
            addObject(lavai, 51+(i*33), 494);  
        }

        Tronco tronco = new Tronco("derecha", "tabla",1);
        addObject(tronco, 179, 419);
        Piso piso = new Piso("piso2");
        addObject(piso, 52, 469);
        Piso piso2 = new Piso("piso3");
        addObject(piso2, 307, 415);

        Piso piso3 = new Piso("piso0");
        addObject(piso3, 650, 480);
        Piso piso4 = new Piso("piso0");
        addObject(piso4, 468, 467);

        Piso piso5 = new Piso("piso2");
        addObject(piso5, 200, 467);
        Tronco tronco2 = new Tronco("izquierda", "tabla",1);
        addObject(tronco2, 397, 416);
        for(int i=6;i<14;i++)
        { 
            Piso pisoi = new Piso("piso2");
            addObject(pisoi, 51+((i-6)*92), 42);

        }

        Piso piso14 = new Piso("piso3");
        addObject(piso14, 665, 375);
        Piso piso15 = new Piso("piso3");
        addObject(piso15, 379, 317);
        Tronco tronco3 = new Tronco("derecha", "tabla",1);
        addObject(tronco3, 657, 309);
        Piso piso16 = new Piso("piso3");
        addObject(piso16, 521, 368);

        Tronco tronco4 = new Tronco("derecha", "tabla",1);
        addObject(tronco4, 159, 315);

        Piso piso17 = new Piso("piso2");
        addObject(piso17, 50, 256);
        Tronco tronco5 = new Tronco("izquierda", "tabla",1);
        addObject(tronco5, 255, 263);
        Puerta puerta = new Puerta();
        addObject(puerta, 10, 445);
        Piso piso18 = new Piso("piso1");
        addObject(piso18, 655, 255);
        Piso piso19 = new Piso("piso0");
        addObject(piso19, 0, 207);
        Llave llave = new Llave();
        addObject(llave, 23, 189);

        Banana banana = new Banana();
        addObject(banana, 13, 277);
        for(int i=2;i<11;i++)
        {
            Banana banana2 = new Banana();
            addObject(banana2, 70+((i-2)*65), 285);
        }
        Banana banana11 = new Banana();
        addObject(banana11, 160, 443);
        Banana banana12 = new Banana();
        addObject(banana12, 190, 444);
        Banana banana13 = new Banana();
        addObject(banana13, 220, 445);
        Banana banana14 = new Banana();
        addObject(banana14, 250, 444);
        Tronco tronco6 = new Tronco("izquierda", "tabla",1);
        addObject(tronco6, 459, 206);
        Tronco tronco7 = new Tronco("derecha", "tabla",1);
        addObject(tronco7, 363, 150);
        Piso piso20 = new Piso("piso3");
        addObject(piso20, 45, 151);
        Piso piso21 = new Piso("piso3");
        addObject(piso21, 695, 205);
        Piso piso22 = new Piso("piso3");
        addObject(piso22, 532, 263);
        Piso piso23 = new Piso("piso3");
        addObject(piso23, 347, 252);

        Llave llave2 = new Llave();
        addObject(llave2, 686, 186);
        ItemCachucha itemcachucha = new ItemCachucha();
        addObject(itemcachucha, 17, 135);
        Vida vida = new Vida();
        addObject(vida, 657, 191);
        Banana banana15 = new Banana();
        addObject(banana15, 623, 336);
        Banana banana16 = new Banana();
        addObject(banana16, 657, 335);
        Banana banana17 = new Banana();
        addObject(banana17, 45, 129);
        Banana banana18 = new Banana();
        addObject(banana18, 74, 129);
        Vida vida2 = new Vida();
        addObject(vida2, 684, 76);

        Tronco tronco8 = new Tronco("izquierda", "tabla",1);
        addObject(tronco8, 552, 103);
        Tronco tronco9 = new Tronco("derecha", "tabla",1);
        addObject(tronco9, 147, 101);

        Piso piso24 = new Piso("piso3");
        addObject(piso24, 10, 319);

        Piso piso25 = new Piso("piso2");
        addObject(piso25, 194, 206);
        Piso piso26 = new Piso("piso2");
        addObject(piso26, 656, 150);

        Piso piso27 = new Piso("piso2");
        addObject(piso27, 249, 149);
        Tronco tronco10 = new Tronco("derecha", "tabla",1);
        addObject(tronco10, 280, 367);   
        Piso piso28 = new Piso("piso2");
        addObject(piso28, 552, 424);
        Piso piso29 = new Piso("piso3");
        addObject(piso29, 144, 367);

        for(int i=19;i<37;i++)
        {
            Banana bananai = new Banana();
            addObject(bananai, 13+((i-19)*35), 66);

        }

        Interruptor interruptor = new Interruptor();
        addObject(interruptor, 680, 119);

    }
    /**
     * Este metodo coloca los objetos dentro del mundo para indicar el primer nivel del juego
     */
    public void mundonivel1()
    {

        setBackground("N1.png");
        crono= new Cronometro(150);
        this.addObject(crono,-5,-5);
        Banana imgContban= new Banana();
        this.addObject(imgContban,13,17);
        Llave imgContLlave=new Llave();
        this.addObject(imgContLlave,139,17);
        Vida imgContVida=new Vida();
        this.addObject(imgContVida,639,22);
        ItemCachucha imgContCachucha=new ItemCachucha();
        this.addObject(imgContCachucha,523,18);
        GorraInWorld=false;
        numEnemigos=0;
        Nivel=1;
        chango = new Jugador();
        addObject(chango, 63, 447);

        Lava lava = new Lava();
        addObject(lava, 17, 494);
        for(int i=0;i<22;i++)
        {
            Lava lavai = new Lava();
            addObject(lavai, 51+(i*33), 494);  
        }

        Banana banana = new Banana();
        addObject(banana, 142, 437);
        for(int i=0;i<10;i++)
        {
            Banana bananai = new Banana();
            addObject(bananai, 189+(i*45), 437);
        }

        Piso piso = new Piso("piso0");
        addObject(piso, 47, 46);
        for(int i=0;i<7;i++)
        {
            Piso pisoi = new Piso("piso0");
            addObject(pisoi, 147+(i*98), 46); 

        }

        ItemCachucha itemcachucha = new ItemCachucha();
        addObject(itemcachucha, 16, 270);

        ItemCachucha itemcachucha2 = new ItemCachucha();
        addObject(itemcachucha2, 621, 378);
        Banana banana12 = new Banana();
        addObject(banana12, 658, 368);
        Banana banana13 = new Banana();
        addObject(banana13, 656, 350);
        Llave llave = new Llave();
        addObject(llave, 52, 130);
        Interruptor interruptor = new Interruptor();
        addObject(interruptor, 13, 437);
        Puerta puerta = new Puerta();
        addObject(puerta, 687, 177);

        for(int i=14;i<21;i++)
        {
            Banana bananai = new Banana();
            addObject(bananai, 14+((i-14)*80), 105);
        }

        Vida vida = new Vida();
        addObject(vida, 329, 266);

        Vida vida2 = new Vida();
        addObject(vida2, 614, 112);        
        Banana banana21 = new Banana();
        addObject(banana21, 641, 102);
        Banana banana22 = new Banana();
        addObject(banana22, 676, 101);
        Tronco tronco = new Tronco("derecha","tronco",0);
        addObject(tronco, 284, 474);
        Tronco tronco2 = new Tronco("izquierda","tronco",0);
        addObject(tronco2, 160, 410);
        Tronco tronco3 = new Tronco("derecha","tronco",0);
        addObject(tronco3, 110, 341);
        Tronco tronco4 = new Tronco("izquierda","tronco",0);
        addObject(tronco4, 429, 409);
        Piso piso9 = new Piso("piso0");
        addObject(piso9, 47, 468);
        Piso piso10 = new Piso("piso0");
        addObject(piso10, 307, 394);
        Piso piso11 = new Piso("piso1");
        addObject(piso11, 645, 468);
        Piso piso12 = new Piso("piso1");
        addObject(piso12, 57, 151);
        Piso piso13 = new Piso("piso1");
        addObject(piso13, 178, 151);
        Piso piso14 = new Piso("piso0");
        addObject(piso14, 652, 394);
        Piso piso15 = new Piso("piso0");
        addObject(piso15, 484, 350);
        Piso piso16 = new Piso("piso0");
        addObject(piso16, 51, 287);
        Piso piso17 = new Piso("piso0");
        addObject(piso17, 663, 201);
        Piso piso18 = new Piso("piso0");
        addObject(piso18, 326, 280);
        Tronco tronco5 = new Tronco("izquierda","tronco",0);
        addObject(tronco5, 556, 292);

        Tronco tronco6 = new Tronco("derecha","tronco",0);
        addObject(tronco6, 556, 213);
        Tronco tronco7 = new Tronco("izquierda","tronco",0);
        addObject(tronco7, 283, 213);
        Piso piso19 = new Piso("piso0");
        addObject(piso19, 418, 198);
        Tronco tronco8 = new Tronco("derecha","tronco",0);
        addObject(tronco8, 419, 138);
        Piso piso20 = new Piso("piso1");
        addObject(piso20, 648, 130);

        Banana banana23 = new Banana();
        addObject(banana23, 14, 236);
        Banana banana24 = new Banana();
        addObject(banana24, 47, 261);
        Banana banana25 = new Banana();
        addObject(banana25, 49, 231);
        Banana banana26 = new Banana();
        addObject(banana26, 670, 226);
        Banana banana27 = new Banana();
        addObject(banana27, 670, 253);
        Banana banana28 = new Banana();
        addObject(banana28, 322, 305);
        Banana banana29 = new Banana();
        addObject(banana29, 410, 175);

        crono.inicializaCuenta();
    }

    /**
     * Este metodo coloca el menu del juego para que el usuario identifique lo que se necesita
     * para jugar de una manera eficaz y apropiada
     */
    public void menuDelJuego()
    {
        setBackground("menu.png");
        Jugar jug=new Jugar();
        Ayuda ayud=new Ayuda();
        Creditos credit=new Creditos();
        Records rec=new Records();
        addObject(rec,357,368);
        addObject(jug,97,258);
        addObject(ayud,354,258);
        addObject(credit,598,258);
    }

    /**
     * este metodo coloca con una imagen que fuiste ganador del juego
     */
    public void winner()
    {
        setBackground("winner.png");
        chango.actualizaPuntos();
        addObject(menu,600,469); 
    }

    /**
     * Este metodo se activa cuando el jugador a perdido todas sus vidas en el juego
     * e indica con una imagen el fin del juego
     */
    public void gameOver()
    {
        chango.actualizaPuntos();
        this.eliminaObjetos();
        setBackground("GameOver.png");
        Greenfoot.playSound("GameOver.wav");

        addObject(menu,600,469);
    }

    /**
     * Este metodo indica con una imagen las teclas del juego que se requieren para
     * jugar de una manera adecuada
     */
    public void ayudaDelJuego()
    {
        Siguiente next=new Siguiente();
        setBackground("ayuda.png");
        addObject(next,600,469);
    }

    /**
     * Este metodo indica con una imagen las las instrucciones que se requieren para
     * jugar de una manera adecuada
     */    
    public void GameInstructions()
    {
        setBackground("instructions.png");
        addObject(menu,600,469);
    }

    /**
     * Este metodo indica con una imagen las personas que colaboraron para desarrollar este juego
     */
    public void CreditosDelJuego()
    {
        setBackground("creditos.png");
        addObject(menu,600,469);
    }

    /**
     * Este metodo elimina todos losobjetos que se encuentren en el mundo
     */
    public void eliminaObjetos()
    {
        Nivel=0;
        int num,i=0;
        num=getObjects(null).size(); //Obtiene numero de objetos en el mundo
        Actor elimina;
        while(i<num)
        {
            elimina= (Actor) getObjects(null).get(0);
            removeObject(elimina);
            i++;
        }
    }

    /**
     * Este metodo regresa una variable de tipo cronometro
     * @return crono (regresa un objeto de tipo cronometro)
     */    
    public Cronometro getCrono()
    {
        return crono;
    }

    /**
     * Este metodo resta el numero de enemigos que aparecen en el juego
     * para que no salgan tantos
     */
    public void restaNumEnem()
    {
        numEnemigos=numEnemigos-1;
    }

    /**
     * Este metodo coloca los mejores 7 puntajes de los usuarios en la opcion records
     * del juego, aqui se mostrara la posicion que logro, su nombre de usuario y su imagen
     * de usuario respectivamente.
     */
    public void GameRecords()
    {
        // AQUI VA EL CODIGO DE LOS RECORDS
        this.setBackground("imageRecords.png");
        java.util.List records=UserInfo.getTop(7);
        RecordUser usuario;
        UserInfo info;
        if(records!=null)
        {
            for(int i=0; i<records.size(); i++)
            {
                info=(UserInfo)records.get(i);
                usuario=new RecordUser((i+1)+".- "+info.getUserName(),info.getScore(),info.getUserImage());
                usuario.addToWorld(100+50*i,this);
            }

            Letrero let;
            if(UserInfo.getMyInfo().getRank()>0)
            {
                let=new Letrero("Your Position:"+UserInfo.getMyInfo().getRank());
            }
            else
            {
                let=new Letrero("You aren't in the Records List");
            }
            this.addObject(let,20+(let.getImage().getWidth()/2),480);
        }
        else
        {
            Letrero letr=new Letrero("Whitout Scores...");
            this.addObject(letr,350,250);
        }

        addObject(menu,600,469); 

    }

    /**
     * Este metodo regresa el nivel actual del juego.
     * @return regresa un entero que representa el Nivel en el juego en el momento en que es llamado el metodo.
     */
    public int getNivel()
    {
        return Nivel;
    }
}
